Skip to content

geonuuoo/planloop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlanLoop: 에이전트 기반 일정 생성 시스템

프로젝트 소개

PlanLoop는 LLM 기반의 다중 에이전트를 활용하여 일정을 생성하고 반복적으로 개선하는 시스템이다.

단일 AI가 아닌, Planner / Evaluator / Optimizer 역할을 분리하여 협업을 통해 더 나은 결과를 도출하는 구조를 구현하였다.


주요 기능

  • Planner: 사용자 요청 기반 초기 일정 생성
  • Evaluator: 일정의 품질 평가 및 문제점 분석
  • Optimizer: 평가 결과를 반영하여 일정 개선
  • Iteration Loop: 일정이 충분히 개선될 때까지 반복 수행
  • pandas 기반 분석: 일정 개수, 휴식 비율 등 데이터 요약 제공

에이전트 협업 구조

이 시스템은 다음과 같은 흐름으로 동작한다.

  1. Planner가 초기 계획 생성
  2. Evaluator가 점수 및 문제점 분석
  3. Optimizer가 계획 개선
  4. 위 과정을 반복 수행
  5. 일정이 충분히 개선되면 종료

여러 에이전트가 협업하여 결과 품질을 향상시키는 구조이다.


실행 방법

로컬 실행

pip install -r requirements.txt
python src/main.py

Docker 실행

docker build -t planloop .
docker run -it --env-file .env planloop

.env 파일에 API 키를 설정해야 한다.

OPENAI_API_KEY=your_openrouter_api_key

테스트 실행

python -m pytest

사용 기술

  • Python
  • OpenAI SDK (OpenRouter API)
  • pandas
  • Docker

사용 라이브러리 및 선택 이유

라이브러리 용도 선택 이유
openai LLM API 호출 다양한 모델을 쉽게 사용할 수 있음
python-dotenv 환경 변수 관리 API 키를 안전하게 관리
pandas 데이터 분석 일정 데이터를 구조화하고 통계 분석 가능
pytest 테스트 실행 코드 기능 검증 자동화

대안 기술

  • requests: 직접 HTTP 요청 가능하지만, openai SDK가 더 간편함
  • numpy: 데이터 처리 가능하지만, pandas가 더 직관적

보안 점검

pip-audit을 사용하여 의존성 보안 점검을 수행하였다.

python -m pip_audit

점검 결과, pip 패키지에서 CVE-2026-3219 취약점이 발견되었으나 해당 문제는 프로젝트 코드가 아닌 pip 자체에 관련된 것으로, 본 프로젝트 기능에는 직접적인 영향을 주지 않는 것으로 판단하였다.


AI 코딩 도구 활용

사용 도구

  • ChatGPT를 활용하여 코드 생성 및 개선 수행

코드 검증 과정

  • 실행을 통해 오류 발생 여부 확인
  • Docker 환경에서 실행하여 환경 의존성 문제 점검
  • API 호출 정상 동작 확인
  • 에이전트 반복 루프 정상 동작 확인

수정 사례

  1. logger.py 오류 수정

    • 문제: Docker 환경에서 docs 폴더가 없어 오류 발생
    • 해결: 폴더 자동 생성 로직 추가
  2. 에이전트 출력 언어 문제

    • 문제: Evaluator가 영어로 출력됨
    • 해결: 프롬프트에 한국어 출력 조건 추가
  3. Iteration 종료 조건 개선

    • 문제: 충분히 좋은 결과에도 반복 계속됨
    • 해결: 점수 및 변화 여부 기준으로 종료 조건 추가
  4. pandas 데이터 분석 기능 추가

    • 문제: 데이터 처리 기능 부족
    • 해결: 일정 데이터를 DataFrame으로 변환하여 분석 추가
  5. Docker 실행 오류 해결

    • 문제: dotenv 및 API 키 오류 발생
    • 해결: requirements 및 환경 변수 설정 수정

느낀 점

AI를 활용하면 빠르게 코드를 생성할 수 있지만, 반드시 검증과 수정 과정이 필요하다는 것을 확인하였다.

특히 Docker, API, 파일 구조와 같은 부분은 직접 이해하고 수정해야 안정적으로 동작한다.


라이선스

MIT License

선택 이유

  • 자유로운 사용 및 수정 가능
  • 학습용 프로젝트에 적합
  • 오픈소스 확장에 유리

프로젝트 특징 요약

  • 에이전트 기반 협업 시스템 구현
  • 반복 개선 구조 (Iteration Loop)
  • Docker 기반 실행 환경 제공
  • pandas 기반 데이터 분석 포함
  • 보안 점검 및 라이선스 고려

결론

본 프로젝트는 단순한 일정 생성 프로그램이 아니라, 여러 에이전트가 협업하여 결과를 개선하는 AI 기반 소프트웨어 구조를 구현한 시스템이다.

About

LLM 기반 에이전트 협업 구조를 활용한 반복 개선형 일정 생성 시스템

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors